#ifndef _SHADER_HEADER_
#define _SHADER_HEADER_

#include <GL/glew.h>
#include <SDL_opengl.h>
#include <gl\GLU.h>
#include <string>
	
class Shader{
public:
	Shader(std::string fname, GLuint type);
	void Compile();
	GLuint GetShader();
private:
	std::string fileName;
	unsigned int shader;
	char error[1024];
protected:

};

class ShaderProgram{
public:
	ShaderProgram();
	ShaderProgram(std::string vert, std::string frag);
	ShaderProgram(std::string vert, std::string frag, std::string geom);
	GLuint GetProgram();
	void AttachToProgram(Shader shader);
	void Build();
	void UseShader();
private:
	GLuint program;
protected:

};


#endif// _SHADER_HEADER_